#pragma once
#include <google/protobuf/service.h>
#include <google/protobuf/descriptor.h>
#include <google/protobuf/message.h>


class MprpcChannel : public google::protobuf::RpcChannel
{
public:
    /*
    所有的caller,通过stub代理对象调用的rpc方法,都是通过重写channel下的CallMethod方法
    统一做rpc方法调用的数据序列化和网络发送
    */
    // 重写RpcChannel下的CallMethod方法 
    void CallMethod(const google::protobuf::MethodDescriptor* method, 
                          google::protobuf::RpcController* controller, 
                    const google::protobuf::Message* request, 
                          google::protobuf::Message* response, 
                          google::protobuf::Closure* done);
};